home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 23
/
Amiga Format AFCD23 (Feb 1998, Issue 107).iso
/
-seriously_amiga-
/
shareware
/
programming
/
c
/
c_lib
/
readme.aros
< prev
next >
Wrap
Text File
|
1997-12-06
|
2KB
|
69 lines
AROS notes:
-----------
[Andreas R. Kleinert <Andreas_Kleinert@t-online.de]
- made some changes to Aaron's sources to get
them compiled with SAS/C 6.58
- AROS version longer longer included: you can
find it within the AROS distribution itself, now
[Aaron Digulla <digulla@fh-konstanz.de> ]
I have ported this source to AROS on Linux.
It works with AROS V1.11+. Eventually, it will become part of
the AROS Library Generation Tools.
Some of this problems are announced to be fixed with gcc V2.8.0 .
The size of the library is 852 bytes code and 188 bytes data. The file
size is 80935 including full debug infos.
I made the following changes:
makefile.aros:
added
Startup.c:
SampleFuncs.h:
LibInit.c:
SampleFuncs.c:
AROS has it's own way to define functions which belong into a library.
A library function is declared like this:
AROS_LH1 (ULONG, foo,
AROS_LHA (APTR, bar, D0),
struct LibBase *, LibBase, 7, Demo
)
This creates a function which is called "foo" for the library "Demo".
The function returns ULONG and gets a single parameter bar which is
an APTR in D0 (if D0 is available; on systems where there are no
registers, for example in intel CPUs, the arguments will be passed
on the stack). The function will get a hidden parameter called "LibBase"
in A6 or on the stack. The type of "LibBase" is "struct LibBase *".
The function is the 7th (counting begins by 0 which is LibInit; 1 is
LibOpen, 2 is LibClose, 3 is LibExpunge, 4 is LibFuncExt, 5 is the
first library specific function). Macros are available for upto 15
parameters.
If you replace AROS_LH1 by AROS_LC1, then you can call a function of
a library.
This special format is used by a couple of tools which generate
all header files (proto, pragma, clib, etc) and the autodocs from
the source.
proto/example.h
Include the AROS headers for libraries.
defines/example.h
Added this file. It contains macros which are expanded into AROS_LCx
macros which call the actual function.
Have fun.